package cn.tj.wenda.cloud.util;

import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 主键生成
 * wenda
 * 2018年10月7日
 */
public class PrimaryKey {
    
    @Value("${cloud.appseq}")
    String appSeq;

    private static int seq = 1;

    /**
     * 获取25位当前应用唯一序列
     * @return
     */
    public String getPrimaryKey()
    {
        if(StringUtils.isEmpty(appSeq)
                || "000".equals(appSeq)
                || appSeq.length() != 3){
            appSeq = "000";
        }
        SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmssSSS");
        String ctime = formatter.format(new Date());
        seq=seq + 1;

        if(seq>=100000) seq = 1;

        String ret = appSeq + ctime + String.format("%05d", seq);
        return ret;
    }
}
